SEARCH KEYWORD -- char pointer
Vim anti-patterns
The benefits of getting to grips with Vim are immense in terms of editing speed and maintaining your “flow†when you’re on a roll, whether writing code, poetry, or prose, but because the learning curve is so steep for a text editor, it’s very easy to retain habits from your time learning the editor that stick with you well into mastery. Because Vim makes you so fast and fluent, it’s especially hard to root these out because you might not even notice them...
Vim,Anti-pattern,macro,syntax 2012-02-08 10:06:15
Custom C++ exception class creation
In standard C++, we can use try catch to catch and exception when something goes wrong. These are some built in exception support in C++. By including the #include , we can now catch exceptions in C++ programs. This actually helps us on debugging our code and reduce the maintenance work.However sometimes if we want to create our own custom exception class. What should we do?We should include the #include line and then extend the exception class and implement some methods as you like. The genera...
C++,std,exception,custom exception,implementation 2012-03-04 09:58:18
Function Pointers in C are Underrated
The function pointer in C is, in my opinion, one of the most ignored gems of the language. It’s the kind of feature you rarely need, and then suddenly, one day, you find yourself in dire need of it, as evidenced by the real-life use-case below. If you don’t know what a function pointer is in the first place, here’s the meat of it: it gives you the ability to pass a function around like a normal variable. If you know Python / Ruby / Lisp, you might know it by the name...
Tricks with Direct Memory Access in Java
Java was initially designed as a safe managed environment. Nevertheless, Java HotSpot VM contains a “backdoor†that provides a number of low-level operations to manipulate memory and threads directly. This backdoor – sun.misc.Unsafe – is widely used by JDK itself in packages like java.nio or java.util.concurrent. It is hard to imagine a Java developer that uses this backdoor in any regular development because this API is extremely dangerous...
Java,Directly memory access,Tricks,JVM 2012-02-13 05:31:19
Will nil == nil be true in GoLang
There is some interview question may ask whether nil == nil be true in GoLang. Wil it be true. false or compilation error? To know the answer, some knowledge about nil in GoLang needs to be explained first. nil definition According to Go's official documentation, the definition of nil is // nil is a predeclared identifier representing the zero value for a // pointer, channel, func, interface, map, or slice type. var nil Type // Type must be a pointer, channel, func, interface, map, or slice type...
GOLANG,NIL,NIL EXPLANATION 2021-08-08 02:54:15
bash network interface
Some of us may have seen /dev/tcp/<host>/<port> before, is this a special file system implemented in some BSD kernel? Because there is no /dev/tcp in Linux. Actually, this one is implemented in bash. We no need to rely on wget,nc to do network connection. It's very easy to use this interface: bash-4.2$ cat </dev/tcp/time.nist.gov/13 56188 12-09-18 15:34:26 50 0 0 733.5 UTC(NIST) * bash-4.2$ exec 3<>/dev/tcp/www.w3.org/80 bash-4.2$ echo -e "GET / HTTP/1.0\n\n" >&3 b...
Bash,Network interface,/dev/tcp 2013-07-20 00:57:52
SQL Grammar Summary
æ•´ç†äº†ä¸€ä¸‹ï¼Œå¸Œæœ›å¯¹å¤§å®¶æœ‰ç”¨SQLè¯å¥å¤§å…¨ --è¯ å¥ åŠŸ 能--æ•°æ®æ“作SELECT --从数æ®åº“表ä¸æ£€ç´¢æ•°æ®è¡Œå’Œåˆ—INSERT --å‘æ•°æ®åº“è¡¨æ·»åŠ æ–°æ•°æ®è¡ŒDELETE --从数æ®åº“表ä¸åˆ 除数æ®è¡ŒUPDATE --æ›´æ–°æ•°æ®åº“表ä¸çš„æ...
SQL,Query,Summary,Select,Update,Delete,I 2011-05-20 12:04:55
How big is sizeof structure?
First let's see the codes of a structure: struct node{ int a; int b; }; Question : What's sizeof(node)? The answer is very simple, on a 32 bit machine, an int will take 4 bytes and two ints will take 8 bytes. So sizeof(node) is 8. The answer for the above codes is 8, then how about the following structure: struct node{ char a; int b; }; Question : Then what's sizeof(node) now? int takes 4 bytes, char takes 1 bytes, is the answer 5? Now the answer may not be 5, on some mac...
Data structure alignment, pack 2012-10-29 12:13:37
new expression vs operator new in C++
In C++, there is a new mechanism for memory allocation and management. When we want to initialize an object, we can use new expression to get enough memory for storing an object and also initialize the object. When we want to create a new object, we can use new expression, for example: Obj *obj=new Obj; Basically, what the new expression does is to allocate enough memory for storing the obj object, in addition, it will initialize the object with some intial values. Also, there is an operator new...
C++, new expression, operator new 2012-08-12 11:42:39
Use DTrace to diagnose gdb issues
A few days ago, I installed the newest 64-bit gdb program (version 7.7.1) on Solaris 10 (X86_64 platform) to debug programs. After playing with the gdb a day, I found 2 issues about gdb:(1) The "set follow-fork-mode child" command doesn't take effect. By default, after the parent process forks the child process, the gdb will track the parent process, so this command can make gdb begin to follow the child process. But this command works OK on Linux.(2) The gdb can't parse the 32-bit application c...
RECENT
- The Role of Coding Skills in Advancing Tech Careers
- Tips for Socializing With Friends During College
- Proximity Cards Do More Than Just Open Doors
- How to choose quality painted auto parts
- Oval engagement rings from MoonOcean: Elegance of form and individual approach
- Hologres vs AWS Redshift
- GoLand connect to Hologres
- A journey to investigate a goroutine leakage case
- Understanding Slice Behavior in Go
- Breaking Barriers: How 3D Printing is Democratizing Product Development
- more>>